CYES-C++: A Concurrent Extension of C++ through Compositional Mechanisms
نویسندگان
چکیده
This paper describes a concurrent extension of the C++ programming language[1]. The extended C++ language, which we call CYES-C++, supports highly concurrent objects, implements a general concurrent method invocation mechanism, fully integrates the notion of inheritance with concurrency, and supports reusability of both method and synchronization specifications. The computational model [4] for CYES-C++ is derived by integrating the ideas of a general model of computation, called the C-YES model[3], within the framework of the object-oriented paradigm. The major components of C-YES model of parallel computation are: i) separation of specification of computational behavior of components and specification of interactions among the components, and (ii) declarative specification of interaction as algebraic expressions over events. These ideas are incorporated in CYES-C++ by representing a concurrent object as a composition of two separate entities, methods and interaction specifications. Interactions among methods of objects are represented by algebraic expressions that capture semantic relationships among specific invocations of the methods. Also, concurrent method invocations in CYES-C++ are represented as a concurrent composition of invoking and invoked methods and expressions that define interaction between the methods. Separation of computation and interaction specification supports extensibility of concurrent classes through inheritance. This paper is organized as follows: in section 2 we briefly describe the CYES-C++ computational model. We then present the various aspects of the language with suitable examples in section 3. In section 4, we give direction for future work along with some conclusions.
منابع مشابه
Support for Extensibility and Re-usability in CYES-C++
1. Introduction: There is significant interest in concurrent programming due to widespread availability of parallel and distributed systems. The design and implementation of concurrent programs for the parallel and distributed systems has proven to be extremely difficult. Concurrent programs are difficult to design, implement, and maintain because changes in a concurrent program (through additi...
متن کاملTowards a New Extension Relation for Compositional Test Case Generation for CSP Concurrent Processes
of thesis entitled Towards a New Extension Relation for Compositional Test Case Generation for CSP Concurrent Processes
متن کاملA Case of Hairy Cell Leukemia Associated with Hepatitis B Surface (HBs) Antigenemia and Concurrent Hepatitis C Virus (HCV) Seropositivity
Literature review shows that hepatitis C infection may increase the risk of non-hodgkin lymphoma. Reactivation of hepatitis B infection has been reported in patients with hairy cell leukemia after chemotherapy and/or splenectomy. We present hepatitis B surface (HBs) antigenemia and concurrent hepatitis C virus (HCV) seropositivity in a case of hairy cell leukemia. Key Words: Hairy cell leukemi...
متن کاملSupport for Extensibility and Reusability in a Concurrent Object-Oriented Programming Language
In many concurrent programming languages programs are difficult to extend and modify. This is because changes in a concurrent program (either through modification or extension) require re-implementation of some or all components. This paper presents the design of a concurrent object-oriented programming language based upon separate specifications of computations and interactions of programs. Se...
متن کاملValidity and Reliability of Form C of the Multidimensional Health Locus of Control Scale in Pregnant Women
Background: The health locus of control (HLC) can indirectly determine the health status. The current study aimed to assess the validity and reliability of Form C of the Multidimensional Health Locus of Control (MHLC-C) scale in pregnant women.Methods: 554 pregnant women participated in this cross-sectional study conducted in 2017; they referred to community health centers affiliated with Mashh...
متن کامل